#pragma once
/*
@author TriLVH
@description management contra state
*/

#include "ContraStateInterface.h"

class ContraStateInWater : public ContraStateInterface {
private:
	int _delaySpriteShooting;
	int _counterSpriteShooting;
	int delayForUp;
	bool isUp;
	bool isMoving;
public:
	/* Constructor to map contra data from contra entity*/
	ContraStateInWater(ContraData* data);

	bool checkIsShooting();

	/* Contra stand state */
	virtual void stand();

	/* Contra stand up state */
	virtual void standUp();

	/* Contra move right state */
	virtual void moveRight();

	/* Contra move left state */
	virtual void moveLeft();

	/* Contra fire state */
	virtual void fire();

	virtual void fireUp();

	virtual void fireCrossUp();

	/* Contra sit state*/
	virtual void sit();

	/* Contra update state */
	virtual void update();

	/* Draw current contra state */
	virtual void draw(long time);

	/* Contra fly state */
	virtual void fly() {
	}

	/**/
	virtual void firstOnLand() {

	}
};